package com.ndp.fb.enums;

import java.io.Serializable;

/**
 * targetingTyle
 * @author rock
 *
 */
public enum TargetingType implements Serializable {

    /**
     * 平台
     */
    Platform(1),

    /**
     * 无线接入方式
     */
    WirelessConnection(2),

    /**
     * 地区
     */
    Location(3),

    /**
     * 年龄
     */
    Age(4),

    /**
     * 性别
     */
    Gender(5),

    /**
     * 爱好
     */
    Interests(6),

    /**
     *
     */
    Connections(7),

    /**
     * 性取向
     */
    InterestedIn(8),

    /**
     * 感情状况
     */
    RelationshipStatus(9),

    /**
     * 语言
     */
    Languages(10),

    /**
     * 教育程度
     */
    Education(11),

    /**
     * 工作地点
     */
    Workplaces(12),

    /**
     * MoreCategories
     */
    MoreCategories(13),

    /**
     * 新增动态信息等版位
     */
    PageTypes(14),

    /**
     * 行为
     */
    Behavior(15),

    /**
     * 自定义受众
     */
    CustomAudience(16),

    /**
     * 感情状况--性取向
     */
    NewInterestedIn(17),

    /**
     * 感情状况--感情状况
     */
    NewRelationshipStatus(18),

    /**
     * 学历--教育程度
     */
    EducationStatuses(19),

    /**
     * 学历 研究领域
     */
    EducationMajors(20),

    /**
     * 学历 学校
     */
    EducationSchools(21),

    /**
     * 学历 大学就读年份
     */
    CollegeYears(22),

    /**
     * 工作 雇主
     */
    WorkEmployers(23),

    /**
     *工作 职务
     */
    WorkPositions(24),

    /**
     * 工作 行业
     */
    Industries(25),

    /**
     * 族裔
     */
    EthnicAffinity(26),

    /**
     * 世代
     */
    Generation(27),

    /**
     * 父母
     */
    FamilyStatuses(28),

    /**
     * 政治（美国）
     */
    Politics(29),

    /**
     * 生活纪事
     */
    LifeEvents(30),

    /**
     * 相似受众
     */
    LookalikeAudience(31);

    /**
     * 防止枚举序列值与Facebook的不能对应而指定index
     */
    private int index;

    /**
     * 私有构造方法
     *
     * @param index index
     */
    TargetingType(int index) {
        this.index = index;
    }

    /**
     * 根据index获取TargetingType
     * @param index index
     * @return Status
     */
    public static TargetingType getTargetingType(int index) {
        for (TargetingType c : TargetingType.values()) {
            if (c.index == index) {
                return c;
            }
        }
        return null;
    }

    /**
     * 获取index
     * @return the index
     */
    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }
}
